package gov.tax.rti.ext.bdf2.aop;

import gov.tax.rti.ext.bdf2.entity.Bdf2User;
import gov.tax.rti.ext.bdf2.utils.CompanyIdUtil;

import java.lang.reflect.Method;

import org.apache.commons.beanutils.BeanUtils;
import org.springframework.aop.AfterReturningAdvice;

import com.bstek.bdf2.core.context.ContextHolder;

/**
 * 用户登录时转换为BDF2用户对象并保持到HttpSession中
 * 
 * @since 2013年11月6日
 * @author steven.zheng
 * @version 1.00 2013年11月6日
 */
public class LoginUserAdvisor implements AfterReturningAdvice {
	
	public void afterReturning(Object returnValue, Method method, Object[] args, Object target) throws Throwable {
		if(returnValue != null){
			Bdf2User bdf2User = new Bdf2User();
			BeanUtils.copyProperties(bdf2User, returnValue);
			//TODO
			bdf2User.setCompanyId(CompanyIdUtil.getCompanyId());
			/*if(returnValue instanceof User){
				bdf2User.setCname(((User)returnValue).getName());
			}*/
			ContextHolder.getHttpSession().setAttribute(ContextHolder.LOGIN_USER_SESSION_KEY, bdf2User);
		}
	}

}